package com.wechat.core.service;

import com.wechat.core.util.R;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;

/**
 * 微信 素材
 * 微信文档 ：https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1444738726
 */
public interface WxMediaService {


    /**
     * 新增临时素材
     *
     * @param media 素材
     * @param type  图片（image）, 语音（voice）, 视频（video）, 缩略图（thumb）
     * @return
     */
    R uploadMedia(MultipartFile media, String type);

    /**
     * 获取临时素材
     *
     * @param media_id 素材ID
     * @return
     */
    R getMedia(String media_id);

    /**
     * 新增永久图文素材
     *
     * @param params
     * @return
     */
    R addNewsMaterial(Map<String, Object> params);

    /**
     * 上传图文消息内的图片获取URL
     *
     * @param params
     * @return
     */
    R uploadimgMedia(MultipartFile media,Map<String, Object> params);

    /**
     * 新增其他类型永久素材
     * @param media 素材
     * @param params type
     * @return
     */
    R addMaterialMaterial(MultipartFile media,Map<String, Object> params);

    /**
     * 获取永久素材
     *
     * @param params media_id
     * @return
     */
    R getMaterialMaterial(Map<String, Object> params);

    /**
     * 删除永久素材
     *
     * @param params media_id
     * @return
     */
    R delMaterialMaterial(Map<String, Object> params);

    /**
     * 修改永久图文素材
     *
     * @param params
     * @return
     */
    R updateNewsMaterial(Map<String, Object> params);

    /**
     * 获取素材总数
     *
     * @param params
     * @return
     */
    R getMaterialcountMaterial(Map<String, Object> params);

    /**
     * 获取素材列表
     *
     * @param params (type offset count )
     * @return
     */
    R batchgetMaterialMaterial(Map<String, Object> params);

    /**
     * 新增临时素材
     */
    String UPLOAD_MEDIA_URL = "https://api.weixin.qq.com/cgi-bin/media/upload";

    /**
     * 获取临时素材
     */
    String GET_MEDIA_URL = "https://api.weixin.qq.com/cgi-bin/media/get";

    /**
     * 新增永久图文素材
     */
    String ADD_NEWS_MATERIAL_URL = "https://api.weixin.qq.com/cgi-bin/material/add_news";

    /**
     * 上传图文消息内的图片获取URL
     */
    String UPLOADIMG_MEDIA_URL = "https://api.weixin.qq.com/cgi-bin/media/uploadimg";

    /**
     * 新增其他类型永久素材
     */
    String ADD_MATERIAL_MATERIAL_URL = "https://api.weixin.qq.com/cgi-bin/material/add_material";

    /**
     * 获取永久素材
     */
    String GET_MATERIAL_MATERIAL_URL = "https://api.weixin.qq.com/cgi-bin/material/get_material";

    /**
     * 删除永久素材
     */
    String DEL_MATERIAL_MATERIAL_URL = "https://api.weixin.qq.com/cgi-bin/material/del_material";

    /**
     * 修改永久图文素材
     */
    String UPDATE_NEWS_MATERIAL_URL = "https://api.weixin.qq.com/cgi-bin/material/update_news";

    /**
     * 获取素材总数
     */
    String GET_MATERIALCOUNT_MATERIAL_URL = "https://api.weixin.qq.com/cgi-bin/material/get_materialcount";

    /**
     * 获取素材列表
     */
    String BATCHGET_MATERIAL_MATERIAL_URL = "https://api.weixin.qq.com/cgi-bin/material/batchget_material";

}
